using System;
using Subsync;

namespace Subsync.Core.Sync
{
	/// <summary>
	/// Author: Steven Goh Jian Wen
	/// </summary>
	public class SyncNotFound : BaseException
	{
		public SyncNotFound(string errorMessage) : base(errorMessage) {}   
		public SyncNotFound(string errorMessage, Exception innerEx) : base(errorMessage, innerEx) {}
	}
	
	public class FolderDoesNotExist : BaseException
	{
		public FolderDoesNotExist(string errorMessage) : base(errorMessage) {}   
		public FolderDoesNotExist(string errorMessage, Exception innerEx) : base(errorMessage, innerEx) {}
	}

    public class RepositoryNotFound : BaseException
    {
        public RepositoryNotFound(string errorMessage) : base(errorMessage) { }
        public RepositoryNotFound(string errorMessage, Exception innerEx) : base(errorMessage, innerEx) { }
    }
	
	public class SyncNameConflict : BaseException
	{
		public SyncNameConflict(string errorMessage) : base(errorMessage) {}   
		public SyncNameConflict(string errorMessage, Exception innerEx) : base(errorMessage, innerEx) {}
	}

    public class PathAlreadyAWorkingCopy : BaseException
    {
        public PathAlreadyAWorkingCopy(string errorMessage) : base(errorMessage) { }
        public PathAlreadyAWorkingCopy(string errorMessage, Exception innerEx) : base(errorMessage, innerEx) { }
    }

    public class BackupTransverseException : BaseException
    {
        public BackupTransverseException(string errorMessage) : base(errorMessage) { }
        public BackupTransverseException(string errorMessage, Exception innerEx) : base(errorMessage, innerEx) { }
    }
	
	public class NoSuchConfigAttr : BaseException
	{
		public NoSuchConfigAttr (string errorMessage) : base(errorMessage) { }
		public NoSuchConfigAttr (string errorMessage, Exception innerEx) : base(errorMessage, innerEx) { }
	}

    public class DiskSpaceException : BaseException
    {
        public DiskSpaceException(string errorMessage) : base(errorMessage) { }
        public DiskSpaceException(string errorMessage, Exception innerEx) : base(errorMessage, innerEx) { }
    }
}
